package com.gqz.defect.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.defect.entity.EnStockEquipDefectEntity;
import com.gqz.defect.vo.AuditDefectsVo;
import com.gqz.defect.vo.EnDefectsTjVo;
import com.gqz.defect.vo.EnStockEquipDefectVo;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;


/**
 * 能源-盘点任务设备缺陷表
 */
public interface IEnStockEquipDefectService extends IService<EnStockEquipDefectEntity> {

    /**
     * 通过id 获取 信息能源-盘点任务设备缺陷表
     *
     * @param id 设备主键
     * @return 能源-盘点任务设备缺陷表
     */
    List<EnStockEquipDefectVo> getById(String id);

    /**
     * 分页 获取 信息 能源-盘点任务设备缺陷表
     *
     * @param requestForm 查询体body
     * @return page 能源-盘点任务设备缺陷表
     */
    Page<EnStockEquipDefectVo> page(RequestForm<EnStockEquipDefectVo> requestForm);

    /**
     * 分页 获取 数量能源-盘点任务设备缺陷表
     *
     * @param requestForm 查询体body
     * @return page 能源-盘点任务设备缺陷表
     */
    Long count(RequestForm<EnStockEquipDefectVo> requestForm);

    /**
     * 新增记录
     *
     * @param forms 记录数据
     * @return 影响的条数num
     */
    int insert(List<EnStockEquipDefectVo> forms);

    /**
     * 修改记录
     *
     * @param forms 记录数据
     * @return 影响的条数num
     */
    int update(List<EnStockEquipDefectVo> forms);

    /**
     * @param requestForm
     * @Description: 导出excel
     * @return: void
     */
    void exportExcel(HttpServletResponse response, RequestForm<EnStockEquipDefectVo> requestForm);

    /**
     * 审核
     *
     * @param auditDefectsVo
     * @return
     */
    Boolean auditDefects(AuditDefectsVo auditDefectsVo);

    /**
     * 分页 获取 信息 能源-盘点任务设备缺陷表
     *
     * @param requestForm 查询体body
     * @return page 能源-盘点任务设备缺陷表
     */
    Page<EnStockEquipDefectVo> pageByState(RequestForm<EnStockEquipDefectVo> requestForm);

    List<EnDefectsTjVo> getDefectsStatusXx(String sdate, String edate);
}
